package com.example.demo.面试题.文件处理;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FilenameFilter;

public class Copy {
    public static void main(String [] args) throws Exception{
        File srcDir = new File("D://java");//目录名
        if(!(srcDir.exists()&&srcDir.isDirectory())){
            throw new Exception("D://java文件夹不存在,请先创建！");
        }
        //读取目录下的*.java
        File[] files = srcDir.listFiles(
                new FilenameFilter(){//名字过滤器
                    public boolean accept(File dir,String name){
                        return name.endsWith(".java");
                    }
                });
        File destDir = new File("jad");
        //如果没有jad文件夹就创建一个
        if(!destDir.exists()) destDir.mkdir();
        //循环把每一个文件写入到jad文件夹下
        for(File f:files){
            FileInputStream fis = new FileInputStream(f);//输入字节流
            //重命名文件
            String destFileName = f.getName().replaceAll(".java",".jad");
            //输出字节流
            FileOutputStream fos = new FileOutputStream(new File(destDir,destFileName));
            int len = 0;
            byte[] buf = new byte[1024];
            while((len = fis.read(buf))!=-1){
                fos.write(buf,0,len);
            }
            fis.close();
            fos.close();
        }
    }

}
